package com.example1;

/**
 * @author 周楠
 * @Date 2023/03/12/上午 10:30
 */
public class Client {

    /**
     * 有一个员工, 他要请求. 公司规定, 请假3天以内, 直属领导就可以审批. 请假3-10天, 需要部门经理审批. 请假大于10天需要总经理审批.
     *
     * @param args
     */
    public static void main(String[] args) {

        DirectLeaderHandler directLeaderHandler = new DirectLeaderHandler("直属领导");
        ManagerHandler managerHandler = new ManagerHandler("经理");
        PresidentHandler presidentHandler = new PresidentHandler("总经理");

        //直属部长到经理
        directLeaderHandler.setNextHandler(managerHandler);

        //经理到总经理
        managerHandler.setNextHandler(presidentHandler);

        //张三开始审批
        StaffLeaveRequest staffLeaveRequest = new StaffLeaveRequest("张三",12);

        directLeaderHandler.deal(staffLeaveRequest);

    }
}
